import request from '@/utils/request'

// 部门列表
export function listDept(query) {
  return request({
    url: '/sys/dept/list',
    method: 'post',
    params: query
  })
}

// 查询部门详细-编辑
export function getDeptByDeptId(deptId) {
  return request({
    url: '/sys/dept/get/' + deptId,
    method: 'get'
  })
}
// 根据选中的父节点显示父类编码
export function getDeptCodeByParentCode(data) {
  return request({
    url: '/sys/dept/deptCodeByParentCode',
    method: 'post',
    params: data
  })
}

// 新增部门
export function addDept(data) {
  return request({
    url: '/sys/dept/add',
    method: 'post',
    params: data
  })
}

// 修改部门信息
export function updateDept(data) {
  return request({
    url: '/sys/dept/update',
    method: 'post',
    params: data
  })
}

// 删除部门
export function delDept(ids) {
  return request({
    url: '/sys/dept/remove/' + ids,
    method: 'get'
  })
}

// 部门选择树列表(有数据权限)
export function getDeptTree(data) {
  return request({
    url: '/sys/dept/selectTree',
    method: 'post',
    params: data
  })
}
// 部门选择树列表(没有数据权限 只获取本公司的列表)
export function selectAllCompanyDeptTree(data) {
  return request({
    url: '/sys/dept/selectAllCompanyDeptTree',
    method: 'post',
    params: data
  })
}
// 部门选择树列表(没有数据权限 包括分公司部门)
export function selectAllEnterpDeptTree(data) {
  return request({
    url: '/sys/dept/selectAllEnterpDeptTree',
    method: 'post',
    params: data
  })
}
// 部门选择树列表
export function seleteDeptTree(data) {
  return request({
    url: '/sys/dept/selectDeptTree',
    method: 'post',
    params: data
  })
}
// 获取套餐
// ---wt(system->sys)
export function getCompTemp(params) {
  return request({
    url: '/sys/sysCompanyTempApi/listSubNoPermission',
    method: 'post',
    params
  })
}

// 校验部门名称
export function checkDeptNameUnique(parentId, deptId, deptName) {
  const data = {
    'parentId': parentId,
    'deptId': deptId,
    'deptName': deptName
  }
  return request({
    url: '/sys/dept/checkDeptNameUnique',
    method: 'post',
    params: data
  })
}
// 校验部门编码
export function checkDeptCodeUnique(parentId, deptId, deptCode) {
  const data = {
    'parentId': parentId,
    'deptId': deptId,
    'deptCode': deptCode
  }
  return request({
    url: '/sys/dept/checkDeptCodeUnique',
    method: 'post',
    params: data
  })
}

// 根据套餐id查询 该套餐选中了那些部门树
// ---wt(system->sys)
export function getDeptMenuByCompTempId(compTempId) {
  const data = {
    'id': compTempId
  }
  return request({
    url: '/sys/sysCompanyTempApi/selectSysCompanyTempMenuIdsById',
    method: 'post',
    params: data
  })
}
// 根据企业id查询菜单树
// export function menuDept(id) {
//   return request({
//     url: '/sys/sysCompanyTempApi/get/' + id,
//     method: 'get'
//   })
// }
// 树形菜单加载
export function getMenuDept() {
  return request({
    url: '/sys/menu/selectTree',
    method: 'post'
  })
}
// 判断分公司是否已经初始化
export function initialized(enterpriseId, subCompany) {
  const data = {
    'enterpriseId': enterpriseId,
    'subCompany': subCompany
  }
  return request({
    url: '/sys/dept/initialized',
    method: 'post',
    params: data
  })
}
// 分公司初始化信息
export function addInitDept(data) {
  return request({
    url: '/sys/dept/initAdd',
    method: 'post',
    data,
    headers: { 'content-type': 'application/json' }
  })
}
// 查询企业初始化信息
export function selectByIdAndSubCompanyDept(subCompany) {
  return request({
    url: '/sys/dept/selectByIdAndSubCompany/' + subCompany,
    method: 'get'
  })
}
// 重置分公司密码
export function resetPswdSubCompany(subCompanyId) {
  const data = {
    'subCompanyId': subCompanyId
  }
  return request({
    url: '/sys/dept/resetPwd',
    method: 'post',
    params: data
  })
}

// 查询序号最大值
// export function getMaxDeptSort() {
//   return request({
//     url: '/sys/dept/getDataCount',
//     method: 'get'
//   })
// }
